We don't want to let baseline adjustment shift the child
out of the original allocation. This is purely a sanity
measure - in practice, the baseline should always be bigger
than the child_baseline.
if (minimum_baseline >= 0 && baseline >= 0)
{
child_allocation.height = MIN(natural, allocation->height);
- child_allocation.y = allocation->y + baseline - minimum_baseline;
+ child_allocation.y = allocation->y + MAX(0, baseline - minimum_baseline);
break;
}
case GTK_ALIGN_CENTER: